﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using sipfe.Controllers.Base;
using sipfe.model.validation;

using sipfe.service.utilitarios;
using sipfe.util;

namespace sipfe.Controllers.utilitarios
{
    public class UtilitariosController : BaseSipfeController
    {
        string TituloClave = "CAMBIO DE CLAVE DE ACCESO DE USUARIO AL SISTEMA";

        public ActionResult CambioClaveCab()
        {
            ViewBag.TITULO = TituloClave;
            return View();
        }

        [HttpPost]
        public ActionResult CambioClaveCab(CambioClaveModel cambioClaveModel)
        {
            if (ModelState.IsValid)
            {
                cambioClaveModel.NIdeUsu = Convert.ToDecimal(Session[Constante.N_IDE_USUARIO]);
                CambioClaveService ccs = new CambioClaveService();
                ViewBag.TITULO = TituloClave;
                int rowNum = ccs.UpdateCambioClave(cambioClaveModel);
                ViewBag.RESPUESTA = rowNum;
            }
            //return View(sipfemaeusuario);  return RedirectToAction("bandejaCab", "Bandeja"); "CambioClaveCab", "Utilitarios"
            return View(cambioClaveModel);
        }

        public ActionResult ValidarNuevaClave(String ConfirmarClave,string NuevaClave)
        {
            try
            {
                if (ConfirmarClave.Equals(NuevaClave))
                {
                    int numCaracteres   = ConfirmarClave.Length;
                    if (numCaracteres < 5 || numCaracteres >20)
                    {
                        return Json(string.Format("El Tamaño de la Clave es Incorrecta, Por Favor Verifique..."), JsonRequestBehavior.AllowGet);
                    }
                    else
                    {
                        return Json(true, JsonRequestBehavior.AllowGet);
                    }
                }
                else
                {   
                    return Json(string.Format("La Nueva Clave no coinciden, Por Favor Verifique..."),JsonRequestBehavior.AllowGet);
                }
            }
            catch
            {
                return Json(string.Format("La Nueva Clave no coinciden, Por Favor Verifique..."), JsonRequestBehavior.AllowGet);
            }
        }

        public ActionResult ValidarClaveActual(String ClaveAnterior)
        {
            try
            {
                CambioClaveService ccs = new CambioClaveService();
                ViewBag.TITULO = TituloClave;
                bool bien = ccs.ValidarClaveActual(Convert.ToDecimal(Session[Constante.N_IDE_USUARIO]), ClaveAnterior);
                if (bien)
                {
                    return Json(true, JsonRequestBehavior.AllowGet);
                }
                else
                {
                    return Json(string.Format("La Clave Actual es Incorrecta, Por Favor Verifique..."), JsonRequestBehavior.AllowGet);
                }
            }
            catch (Exception ex)
            {
                
                return Json(string.Format("La Clave Actual es Incorrecta, Por Favor Verifique..."), JsonRequestBehavior.AllowGet);
            }
        }



    }
}
